Tootsville::Run-Metronome-Tasks

Function

Run-Metronome-Tasks names a function, with lambda list NIL:

Runs tasks scheduled for the game's metronome.

Typically these tasks are scheduled in one of three ways. They may be scheduled to occur at a given frequency in seconds, at a single time, or at a give frequency up until a certain time.

Tasks are usually created by TOOTSVILLE DO-METRONOME, which in turn uses TOOTSVILLE METRONOME-REGISTER to safely enqueue the tasks with locking.

The metronome runs at approximately 1 second resolution, but steps its time forward at precisely 1 second intervals, so no task will be missed due to system scheduler tie-ups.

Tasks are not allowed to “stack up;” if a task has not finished by the time its next execution window comes around, it will miss its opportunity and have to wait for the next window.

File

Defined in file src/metronome.lisp.